/*
  闯关游戏
  问题描述
    你来到了一个闯关游戏。
    这个游戏总共有 n 关，每关都有 m 个通道，你需要选择一个通道并通往后续关卡。
    其中，第 i 个通道可以让你前进 ai 关，
    也就是说，如果你现在在第 x 关，那么选择第 i 个通道后，你将直接来到第 x + ai 关
     （特别地，如果 x + ai >= n，那么你就通关了）。
    此外，当你顺利离开第 s 关时，你还将获得 bs 分。

    游戏开始时，你在第 0 关。请问，你通关时最多能获得多少总分？
  输入描述
    第一行两个整数 n 和 m，分别表示关卡数量和每关的通道数量。
    接下来一行 m 个用单个空格隔开的整数 a0, a1, ... , am-1。保证 1 <= ai <= n。
    接下来一行 n 个用单个空格隔开的整数 b0, b1, ... , bn-1。保证 | bi | <= 10^5。
  输出描述
    一行一个整数，表示你通关时最多能够获得的分数。
  特别提醒
    在常规程序中，输入、输出时提供提示是好习惯。
    但在本场考试中，由于系统限定，请不要在输入、输出中附带任何提示信息。
  样例输入 1
    6 2
    2 3
    1 0 30 100 30 30
  样例输出 1
    131
  样例解释 1
    你可以在第 0 关选择第 1 个通道，获得 1 分并来到第 3 关；
    随后再选择第 0 个通道，获得 100 分并来到第 5 关；
    最后任选一个通道，都可以获得 30 分并通关。
    如此，总得分为 1 + 100 + 30 = 131。
  样例输入 2
    6 2
    2 3
    1 0 30 100 30 -1
  样例输出 2
    101
  样例解释 2
    请注意，一些关卡的得分可能是负数。
  数据规模
    对于 20% 的测试点，保证 m = 1。
    对于 40% 的测试点，保证 n <= 20；保证 m <= 2。
    对于所有测试点，保证 n <= 10^4；保证 m <= 100。
*/